package com.ruoyi.repair.mapper;

import java.util.List;
import java.util.Map;
import java.util.Date;
import com.ruoyi.repair.domain.JrRepairOrder;
import org.apache.ibatis.annotations.MapKey;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

/**
 * 设备维修Mapper接口
 * 
 * @author ruoyi
 * @date 2025-01-03
 */
@Mapper
public interface JrRepairOrderMapper 
{
    /**
     * 查询设备维修
     * 
     * @param repairOrderId 设备维修主键
     * @return 设备维修
     */
    public JrRepairOrder selectJrRepairOrderByRepairOrderId(String repairOrderId);

    /**
     * 查询设备维修列表
     * 
     * @param jrRepairOrder 设备维修
     * @return 设备维修集合
     */
    public List<JrRepairOrder> selectJrRepairOrderList(JrRepairOrder jrRepairOrder);

    /**
     * 新增设备维修
     * 
     * @param jrRepairOrder 设备维修
     * @return 结果
     */
    public int insertJrRepairOrder(JrRepairOrder jrRepairOrder);

    /**
     * 修改设备维修
     * 
     * @param jrRepairOrder 设备维修
     * @return 结果
     */
    public int updateJrRepairOrder(JrRepairOrder jrRepairOrder);

    /**
     * 删除设备维修
     * 
     * @param repairOrderId 设备维修主键
     * @return 结果
     */
    public int deleteJrRepairOrderByRepairOrderId(String repairOrderId);

    /**
     * 批量删除设备维修
     * 
     * @param repairOrderIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteJrRepairOrderByRepairOrderIds(String[] repairOrderIds);

    /**
     * 查询维修记录统计数据
     *
     * @param equipmentNo 设备编号
     * @param startDate 开始日期
     * @param endDate 结束日期
     * @return 维修记录列表
     */
    @MapKey("equipmentNo")
    List<Map<String, Object>> selectRepairStatistics(@Param("equipmentNo") String equipmentNo,
                                                    @Param("startDate") Date startDate,
                                                    @Param("endDate") Date endDate);
}
